From 6d27a537727ca933bfef8ba01bc65847dc97cee1 Mon Sep 17 00:00:00 2001 From: Tim Deegan Date: Tue, 25 Feb 2014 09:30:21 +0100 Subject: [PATCH] x86/hvm/rtc: always deassert the IRQ line when clearing REG_C.IRQF Even in no-ack mode, there's no reason to leave the line asserted after an explicit ack of the interrupt. Furthermore, rtc_update_irq() is an unconditional noop having just cleared REG_C. Signed-off-by: Tim Deegan Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- xen/arch/x86/hvm/rtc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/rtc.c b/xen/arch/x86/hvm/rtc.c index d641d95922..639b4c57eb 100644 --- a/xen/arch/x86/hvm/rtc.c +++ b/xen/arch/x86/hvm/rtc.c @@ -673,9 +673,8 @@ static uint32_t rtc_ioport_read(RTCState *s, uint32_t addr) check_for_pf_ticks(s); ret = s->hw.cmos_data[s->hw.cmos_index]; s->hw.cmos_data[RTC_REG_C] = 0x00; - if ( (ret & RTC_IRQF) && !rtc_mode_is(s, no_ack) ) + if ( ret & RTC_IRQF ) hvm_isa_irq_deassert(d, RTC_IRQ); - rtc_update_irq(s); check_update_timer(s); alarm_timer_update(s); s->pt_dead_ticks = 0; -- 2.30.2